package uk.co.q3c.deplan.server.util.useraccess.rules;

import uk.co.q3c.deplan.server.util.useraccess.UserAccessController;
import uk.co.q3c.deplan.server.util.useraccess.UserAccessController.AccessLevel;
import uk.co.q3c.deplan.server.util.validation.rules.ObjectRule;

public interface UserAccessObjectRule extends ObjectRule {

	/**
	 * An access rule applied at the object level, but may be overruled by a
	 * property specific rule <br>
	 * <br>
	 * 
	 * @see UserAccessController
	 * 
	 * @param object
	 * @return
	 */
	public abstract AccessLevel accessObject(Object object);
}
